//
//  MoreStockList.h
//  HZ_New_Stock
//
//  Created by gaotime on 16/5/27.
//  Copyright © 2016年 Zeroing. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "AppInfo.h"
#import "HZBaseMarketView.h"

@protocol GADragViewDelegate<NSObject>
@optional
/**GADragView的拖拽回调事件（拖拽至顶部）
 *
 *  @param UIView        *dragView          拖拽视图本身
 *
 *  @return －
 */
- (void)dragViewScrollToTop:(UIView*)dragView;

/**GADragView的拖拽回调事件（拖拽至底部）
 *
 *  @param UIView        *dragView          拖拽视图本身
 *
 *  @return －
 */
- (void)dragViewScrollToBottom:(UIView*)dragView;

/**GADragView的拖拽回调事件（左右拖拽）
 *
 *  @param UIView        *dragView          拖拽视图本身
 *  @param GADragMode    aMode              拖拽的方向（左右）
 *
 *  @return －
 */
- (void)dragView:(UIView*)dragView onDrag:(GADragMode)aMode;

/**点击tableView的回调函数
 *
 *  @param UIView        *dragView          拖拽视图本身
 *  @param NSIndexPath   *indexPath         cell的索引
 *
 *  @return －
 */

- (void)dragView:(UIView*)dragView didSelectRowAtIndexPath:(int)index;

@end

@interface MoreStockList : HZBaseMarketView<UITableViewDelegate, UITableViewDataSource,UIScrollViewDelegate,GADragViewDelegate>{
  NSArray *pTitlesArray;
  UIImageView *pTitleView;
  ///用于盛放tableView视图的滚动视图
  UIScrollView *m_baseScrollView;
  ///显示当前tableView拖拽状态的标签（在tableView的上方）
  UILabel *m_statusLabel_top;
  ///显示当前tableView拖拽状态的标签（在tableView的下方）
  UILabel *m_statusLabel_bottom;
  ///GADragView盛放其他视图的子视图
  UITableView *m_tableView;
  UIView *m_subView;
  ///tableView的宽度（与传递数组项目的个数相关）
  float m_tableViewWidth;
  ///tableView是否打开
  BOOL bOpen;
  ///表格视图每行的高度
  float m_rowHeight;
  ///表格视图显示数据
  NSMutableArray *m_data_array;
  ///表格视图标题数据
  NSMutableArray *m_title_array;
  ///表格视图中每一项的宽度
  float m_item_width;
  ///表格视图中每项之间的间隔
  float m_item_gap;
  ///表格视图中的项数
  int m_item_count;
  ///表格视图中的滑动方向（0：向下滑 1：向上滑）
  int m_direction;
  ///存储颜色的数组
  NSMutableArray *m_color_array;
  UIColor *cellbgColor1;
  UIColor *cellbgColor2;
  ///每页显示的项数
  int m_VisibleItemCount;//add xzm 20130417
  ///父视图
//  id  pParent;
  ///是否到达第一页或最后一页
  BOOL isBegEnd;
  
  ///数据刷新等待视图
  UIActivityIndicatorView *m_activityIndicator;
  GAPullRefreshState nState;
  
  CGFloat prePosition;
  UIEdgeInsets m_scrollInsets;
  UIImageView *upImageView;
  UIImageView *downImageView;
  
  CGFloat m_hidden_part;
  
  ///排序
  SORT_MODE m_sortMode;
  UIImageView *m_sortImageView;
  UIImage *m_sortUpImg;
  UIImage *m_sortDownImg;
  NSUInteger m_sortTag;
  NSUInteger m_tempsorttag;
  
  NSString *m_pageInfo;
  
  ///皮肤ID
  int         nThemeId;
  
  ///GADragView的代理协议，用于将方法传递给其他类使用
  id<GADragViewDelegate> GADragViewDelegate;
  UIButton* lastButton;
  BOOL bIsDataSort;//是否支持排序
  BOOL bIsFirst_TwoRow;//第一列是否支持双行
}

@property(nonatomic,retain) NSMutableArray *m_data_array;
@property(nonatomic,retain) NSMutableArray *m_color_array;
@property(nonatomic,retain) NSMutableArray *m_title_array;
@property(nonatomic,assign) id pParent;
@property(nonatomic,retain) UITableView   *m_tableView;
@property(nonatomic,retain) id<GADragViewDelegate>  GADragViewDelegate;

////Test
//@property(nonatomic,retain) UIAlertView *m_alert;

//-(void)setProperty:(UIColor*)aSeparatorColor with:(UIColor*)aCellColor1 with:(UIColor*)aCellColor2;
/**初始化GADragView
 *
 *  @param CGRect          frame         GADragView的区域大小
 *
 *  @return －
 */
- (id)initWithFrame:(CGRect)frame;

//add xzm 20130411
/**更新GADragBar的区域位置
 *
 *  @param CGRect        rect          区域
 *
 *  @return －
 */
- (void)updateDragViewFrame;
//add end xzm 20130411

/**设置StockList的数据
 *
 *  @param NSMutableArray       *aData             数据数组
 *  @param NSMutableArray       *aColorArray       颜色数组
 *
 *  @return －
 */
- (void)setStockListData:(NSMutableArray*)aData
               withColor:(NSMutableArray*)aColorArray;

/**tableView刷新数据完成后将y轴的偏移距离弹回
 *
 *  @param UIScrollView        scrollView          scrollView对象
 *
 *  @return －
 */
- (void)refreshScrollViewDataSourceDidFinishedLoading:(UIScrollView *)scrollView;

/**tableView接受数据完成取消y轴偏移距离
 *
 *  @param -
 *
 *  @return －
 */
- (void)dismissDragTableViewAnimation;

/**tableView接受数据完成
 *
 *  @param -
 *
 *  @return －
 */
- (void)doneLoadingTableViewData;

/**设置tableView的背景图片
 *
 *  @param -
 *
 *  @return －
 */
- (void)setBackgroundImage:(UIImage*)aBackgroundImage;

/**获取tableView的父视图
 *
 *  @param NSString        identifier         cell的重用标记
 *  @param NSIndexPath     indexPath          表格的row索引
 *
 *  @return UITableViewCell  *cell
 */
- (UITableViewCell *)tableviewCellWithReuseIdentifier:(NSString *)identifier
                                            IndexPath:(NSIndexPath *)indexPath;

/**设置tableView的数据
 *
 *  @param UITableViewCell        cell               表格视图的cell
 *  @param NSIndexPath            indexPath          表格的row索引
 *
 *  @return －
 */
- (void)configureCell:(UITableViewCell *)cell forIndexPath:(NSIndexPath *)indexPath;

/**清除数据
 *
 *  @param -
 *
 *  @return －
 */
- (void)clearData;

/**初始化数据
 *
 *  @param -
 *
 *  @return －
 */
- (void)initData;

/**设置标题
 *
 *  @param NSMutableArray   *aTitleArray     标题数组
 *
 *  @return －
 */
-(void)setTitle:(NSArray*)aTitleArray withFirstCol:(BOOL)bTwoRow;

-(void)pressedUpDown:(UIButton*)aButton;

-(void)setSortMode:(SORT_MODE)n withTag:(NSUInteger)aTag;
-(SORT_MODE)getSortMode;
-(void)setPageInfo:(NSUInteger)aCurrentPage withCount:(NSUInteger)aTotolPage;
-(void)showAlert:(NSUInteger)aCurrentPage withCount:(NSUInteger)aTotolPage;
-(void)setLastButtonText:(NSString *)btnName;
-(void)setDefaultSort:(BOOL)bIsSort;
-(void)OnChangeTheme:(int)nId;
@end
